博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
laravel中的plicy授权方法:
阅读量:6442 次
发布时间:2019-06-23

本文共 1125 字,大约阅读时间需要 3 分钟。

1.用命令新建policy:

php artisan make:policy PostPolicy

  

2.在app/Policies/PostPolicy.php中添加处理文件的权限的方法:

//修改:    public function update(User $user, Post $post)    {        return $user->id == $post->user_id;    }    //删除权限:    public function delete(User $user, Post $post)    {        return $user->id == $post->user_id;    }

  

控制器中,添加权限限制:

//更新文章:    public function update(Post $post)    {        //验证:        $this->validate(request(), [            'title' => 'required|string|max:100|min:10',            'content' => 'required|string|min:4'        ]);        $this->authorize('update', $post);        //逻辑:        $post->title = \request('title');        $post->content = \request('content');        $post->save();        return redirect("/posts/{$post->id}");    }    //删除逻辑:    public function delete(Post $post)    {        $this->authorize('delete', $post);     //TODD 用户的权限验证:     $post->delete();     return redirect("/posts");   }

  

在视图中,对授权的使用:

{
{$post->title}}

@can('update',$post)
@endcan @can('delete',$post)
@endcan

  

 

转载地址:http://etdwo.baihongyu.com/

你可能感兴趣的文章
再谈ThinkPHP
查看>>
Hibernate问题浅析
查看>>
出现访问apache资源直接下载php文件的解决办法-----yum 安装 php mysql
查看>>
七种Mysql表类型
查看>>
归并与归并排序
查看>>
linux和windows互传文件、用户配置文件和密码配置文件、用户组管理、用户管理...
查看>>
spark 应用程序性能优化经验
查看>>
基于Zabbix IPMI监控服务器硬件状况
查看>>
Go语言之并发资源竞争
查看>>
mac本显示隐藏文件或关闭显示隐藏文件
查看>>
spring4.0 整合 Quartz 实现任务调度(一)
查看>>
android复杂布局的一点思路
查看>>
Awesome Python
查看>>
java web简单权限管理设计
查看>>
Google Analytics
查看>>
【转】什么是云计算
查看>>
MySQL 5.7及以上解压缩版本配置安装
查看>>
Extjs4.0 Chart属性中文解释
查看>>
PHP单例模式的实现
查看>>
httpClient post 数据传输和处理
查看>>